package com.chuangke.flow.service;

import com.chuangke.flow.domain.FlowAuditResult;
import com.chuangke.flow.domain.FlowHandler;
import com.chuangke.flow.entity.FlowRuTask;

import java.util.List;

public interface FlowTaskService {

	/**
	 * 审批
	 * @param handlerList
	 */
	FlowAuditResult complete(List<FlowHandler> handlerList) ;
	
	/**
	 * 审批的时候如果当前审批人之前已经审批同意，则当前节点自动审批通过
	 * 服务内部使用，不对外提供
	 * @param handlerList
	 */
	void agreeJump(List<FlowHandler> handlerList) ;
	
	/**
	 * 撤回
	 * @param handlerList
	 */
	FlowAuditResult revoke(List<FlowHandler> handlerList) ;
	
	void executeListener(List<FlowRuTask> nextTaskList) ;
	
}
